欢迎转载,转载请标明出处.
英文原文文档地址: Litho-doc
参考
Layout Specs
Layout Spec在逻辑上等同于Android的View的组合.它简单的把一些已经存在的component组合到一个不可变的布局树中.
实现一个layout spec非常简单:你只需要写一个标注为@OnCreateLayout的方法,并且让它返回一个不可变的ComponentLayout对象的树.
让我们从一个简单的例子开始:
正如你所见,layout spec类使用@LayoutSpec注释.
用@OnCreateLayout注释标注的方法必须以ComponentContext作为第一个参数,并且在它后面有以@Prop标注的其他参数.注释处理器将会在编译的时候对它们和其他API的不变性进行验证.
在上面的示例中,布局树中有一个根容器,容器中有两个水平堆叠(Row.create)且垂直居中(Align.CENTER)的子节点.
第一个子节点是一个SolidColor component,它拥有一个colorRes的Prop和40dp的宽和高.
|
|
第二个子节点是一个Text Component,它拥有一个名叫text的prop,并且使用grow(1f)填充了Myconponent中的剩余的水平空间(等同于Android LinearLayout中的layoutWeight).文字大小实在my_text_size尺寸文件中定义的.
你可以查看完整的Yoga文档来获取所有框架开放出的布局特性.